//
// Created by Toosan on 2022/4/27.
//
#include "iostream"

using namespace std;

class SinkActivity {
private :
    static void setContentView(int layoutResId) {
        cout << "layoutResId = " << layoutResId << endl;
    }

public:
    void onCreate() {
        cout << "onCreate " << endl;
        setContentView(getLayoutResId());
    }

//    int getLayoutResId() {
//        return 0;
//    }
    // 虚函数
//    virtual int getLayoutResId();

    // 纯虚函数  固定写法 子类必须实现
    virtual int getLayoutResId() = 0;

};

/**
 * 必须要实现父类的抽象函数，不然自己也是一个抽象类，抽象类是不能够被实例化的
 */
class HomeActivity : public SinkActivity {
public:
    /**
     * 必须重写父类的纯虚函数
     * @return
     */
    int getLayoutResId() override {
        return 0;

    };

};

/**
 * 纯虚函数学习  纯虚函数 == Java抽象方法
 * @return
 */
int main() {
    HomeActivity homeActivity;
    homeActivity.onCreate();
    cout << "" << endl;
    return 0;
}
